package com.cskaoyan.converter;

import lombok.SneakyThrows;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 使用Converter的原因：
 *      没有提供默认的converter
 *      自定义的转换业务可以更灵活
 */
@Component
public class String2DateConverter implements Converter<String, Date> {
    @SneakyThrows
    @Override
    public Date convert(String s) {
        Date parse = null;
        //自定义的转换业务
        if (s != null && s.length() == 10) {//yyyy-MM-dd
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
             parse = simpleDateFormat.parse(s);
        } else if (s != null && s.length() == 19) {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            parse = simpleDateFormat.parse(s);
        }

        return parse;
    }
}
